This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Cmd+Shift+Enter.

knitr::opts_chunk$set(message = FALSE)
knitr::opts_chunk$set(warning = FALSE)

ma_data <- read_csv(DATA_PATH) 
Parsed with column specification:
cols(
  .default = col_character(),
  x1 = col_double(),
  mean_age = col_double(),
  productive_vocab_mean = col_double(),
  productive_vocab_median = col_double(),
  n_train_test_pair = col_double(),
  n_test_trial_per_pair = col_double(),
  n_repetitions_sentence = col_double(),
  n_repetitions_video = col_double(),
  inclusion_certainty = col_double(),
  n_1 = col_double(),
  x_1 = col_double(),
  x_2 = col_double(),
  x_2_raw = col_double(),
  sd_1 = col_double(),
  sd_2 = col_double(),
  sd_2_raw = col_double(),
  t = col_double(),
  d = col_double(),
  d_calc = col_double(),
  d_var_calc = col_double()
)
See spec(...) for full column specifications.
ma_data

contingency table

ALL_CATEGORICAL_VARS <- c("test_type","presentation_type",
                      "agent_argument_type_clean", "patient_argument_type_clean", 
                     "stimuli_modality", "stimuli_actor", "character_identification", "practice_phase", "test_mass_or_distributed", "test_method")




get_cross_counts <- function(args, df){
  var1 = args[[1]]
  var2 = args[[2]]
  
  if (var1 != var2){
  
  df %>%
    select_(var1, var2) %>%
    rename(v1 = var1, 
          v2 = var2) %>%
    count(v1, v2) %>%
    mutate(v1_long = glue("{var1}/{v1}"),
           v2_long = glue("{var2}/{v2}"))  %>%
    select(v1_long, v2_long, n) 

  }
}

all_pair_counts <- list(ALL_CATEGORICAL_VARS,
                        ALL_CATEGORICAL_VARS) %>%
  cross() %>%
  map_df(get_cross_counts, ma_data) %>%
  complete(v1_long, v2_long, fill = list(n = 0)) %>%
  filter(v1_long != v2_long)
Vectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributesVectorizing 'glue' elements may not preserve their attributes
  all_counts_wide <- all_pair_counts %>%
    pivot_wider(names_from = v2_long, values_from = n) 
  

  all_counts_wide_matrix <- all_counts_wide %>%
    select(-v1_long) %>%
    as.matrix()
  
  row.names(all_counts_wide_matrix) <-   all_counts_wide$v1_long
  heatmaply(all_counts_wide_matrix,
            fontsize_row = 8,
            fontsize_col = 8)

Model selections??

http://www.metafor-project.org/doku.php/tips:model_selection_with_glmulti_and_mumin

model selection

reasonable:

res_reasonable <- glmulti(d_calc ~mean_age + sentence_structure + agent_argument_type_clean + patient_argument_type_clean  + test_mass_or_distributed + practice_phase + character_identification + n_repetitions_sentence + test_method, data=ma_data, level=1, fitfunction=rma.glmulti, crit="aicc", confsetsize=32)
Initialization...
TASK: Exhaustive screening of candidate set.
Fitting...
Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.

After 50 models:
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed
Crit= 718.764861896471
Mean crit= 765.342982684011

After 100 models:
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Crit= 707.535751556097
Mean crit= 741.900644563329

Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.

After 150 models:
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Crit= 707.535751556097
Mean crit= 733.065259509332

Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.

After 200 models:
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Crit= 707.535751556097
Mean crit= 726.519509135412

Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.

After 250 models:
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Crit= 707.535751556097
Mean crit= 721.810858847122

Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.

After 300 models:
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Crit= 707.535751556097
Mean crit= 717.250000345278

Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.

After 350 models:
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification
Crit= 707.535751556097
Mean crit= 716.478095989443

Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.

After 400 models:
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification+test_method
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification+test_method
Crit= 706.583408888092
Mean crit= 713.231492327172

Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.

After 450 models:
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification+test_method
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification+test_method
Crit= 706.583408888092
Mean crit= 713.143895286831

Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.

After 500 models:
Best model: d_calc~1+mean_age+sentence_structure+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification+test_method
Best model: d_calc~1+mean_age+agent_argument_type_clean+patient_argument_type_clean+test_mass_or_distributed+character_identification+test_method
Crit= 706.583408888092
Mean crit= 712.038939733654

Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.Rows with NAs omitted from model fitting.Redundant predictors dropped from the model.
Completed.

top <- weightable(res_reasonable)
top <- top[top$aicc <= min(top$aicc) + 2,]

summary(res_reasonable@objects[[1]])

Multivariate Meta-Analysis Model (k = 110; method: ML)

   logLik   Deviance        AIC        BIC       AICc 
-339.6835   707.6115   703.3669   735.7727   706.5834   

Variance Components: none

Test for Residual Heterogeneity:
QE(df = 98) = 707.6115, p-val < .0001

Test of Moderators (coefficients 2:12):
QM(df = 11) = 107.7326, p-val < .0001

Model Results:

                                        estimate      se     zval    pval    ci.lb    ci.ub 
intrcpt                                   0.0964  0.1580   0.6099  0.5419  -0.2133   0.4060      
mean_age                                  0.0001  0.0001   0.5035  0.6146  -0.0002   0.0004      
sentence_structuretransitive             -0.2883  0.1465  -1.9685  0.0490  -0.5754  -0.0013    * 
agent_argument_type_cleannoun_phrase      0.1776  0.1426   1.2453  0.2130  -0.1019   0.4572      
agent_argument_type_cleanpronoun         -1.0179  0.1740  -5.8508  <.0001  -1.3589  -0.6769  *** 
agent_argument_type_cleanvarying_agent   -0.2261  0.1248  -1.8118  0.0700  -0.4707   0.0185    . 
patient_argument_type_cleannoun           0.1984  0.1416   1.4008  0.1613  -0.0792   0.4760      
patient_argument_type_cleannoun_phrase    1.3116  0.1915   6.8503  <.0001   0.9363   1.6868  *** 
patient_argument_type_cleanpronoun        1.1989  0.2025   5.9210  <.0001   0.8020   1.5958  *** 
test_mass_or_distributedmass              0.6258  0.0994   6.2956  <.0001   0.4309   0.8206  *** 
character_identificationyes               0.2496  0.0718   3.4768  0.0005   0.1089   0.3902  *** 
test_methodpoint                          0.2024  0.1086   1.8641  0.0623  -0.0104   0.4152    . 

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#summary(res_reasonable@objects[[2]])
plot(res_reasonable, type="s")

summary(res_reasonable@objects[[2]])

Multivariate Meta-Analysis Model (k = 110; method: ML)

   logLik   Deviance        AIC        BIC       AICc 
-339.6835   707.6115   703.3669   735.7727   706.5834   

Variance Components: none

Test for Residual Heterogeneity:
QE(df = 98) = 707.6115, p-val < .0001

Test of Moderators (coefficients 2:12):
QM(df = 11) = 107.7326, p-val < .0001

Model Results:

                                            estimate      se     zval    pval    ci.lb    ci.ub 
intrcpt                                       0.0964  0.1580   0.6099  0.5419  -0.2133   0.4060      
mean_age                                      0.0001  0.0001   0.5035  0.6146  -0.0002   0.0004      
agent_argument_type_cleannoun_phrase          0.1776  0.1426   1.2453  0.2130  -0.1019   0.4572      
agent_argument_type_cleanpronoun             -1.0179  0.1740  -5.8508  <.0001  -1.3589  -0.6769  *** 
agent_argument_type_cleanvarying_agent       -0.2261  0.1248  -1.8118  0.0700  -0.4707   0.0185    . 
patient_argument_type_cleannoun              -0.0899  0.1003  -0.8962  0.3701  -0.2866   0.1067      
patient_argument_type_cleannoun_phrase        1.0232  0.1384   7.3922  <.0001   0.7519   1.2945  *** 
patient_argument_type_cleanpronoun            0.9106  0.1379   6.6008  <.0001   0.6402   1.1809  *** 
patient_argument_type_cleanvarying_patient   -0.2883  0.1465  -1.9685  0.0490  -0.5754  -0.0013    * 
test_mass_or_distributedmass                  0.6258  0.0994   6.2956  <.0001   0.4309   0.8206  *** 
character_identificationyes                   0.2496  0.0718   3.4768  0.0005   0.1089   0.3902  *** 
test_methodpoint                              0.2024  0.1086   1.8641  0.0623  -0.0104   0.4152    . 

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

take everything

rma.glmulti <- function(formula,data)
  {rma.mv(formula, d_var_calc, data=ma_data, method="ML")
}

res_sink <- glmulti(d_calc ~mean_age + sentence_structure + agent_argument_type_clean + patient_argument_type_clean + test_type + stimuli_actor + stimuli_modality + presentation_type + test_mass_or_distributed + practice_phase + character_identification + n_repetitions_sentence + n_repetitions_video + test_method, data=ma_data, level=1, fitfunction=rma.glmulti, crit="aicc", confsetsize=32)
#print(res_sink)
top <- weightable(res_sink)
top <- top[top$aicc <= min(top$aicc) + 2,]
top
summary(res_sink@objects[[1]])
summary(res_sink@objects[[2]])
plot(res_sink, type="s")
eval(metafor:::.glmulti)
coef(res_sink)
mmi <- as.data.frame(coef(res_sink))
mmi <- data.frame(Estimate=mmi$Est, SE=sqrt(mmi$Uncond), Importance=mmi$Importance, row.names=row.names(mmi))
mmi$z <- mmi$Estimate / mmi$SE
mmi$p <- 2*pnorm(abs(mmi$z), lower.tail=FALSE)
names(mmi) <- c("Estimate", "Std. Error", "Importance", "z value", "Pr(>|z|)")
mmi$ci.lb <- mmi[[1]] - qnorm(.975) * mmi[[2]]
mmi$ci.ub <- mmi[[1]] + qnorm(.975) * mmi[[2]]
mmi <- mmi[order(mmi$Importance, decreasing=TRUE), c(1,2,4:7,3)]
round(mmi, 4)

three interdependence moderators, take one ### take test type


rma.glmulti <- function(formula,data)
  {rma.mv(formula, d_var_calc, data=ma_data, method="ML")
}

res_test_type <- glmulti(d_calc ~mean_age + sentence_structure + agent_argument_type_clean + patient_argument_type_clean + test_type + stimuli_actor  + presentation_type + test_mass_or_distributed + practice_phase + character_identification + n_repetitions_sentence + n_repetitions_video, data=ma_data, level=1, fitfunction=rma.glmulti, crit="aicc", confsetsize=32)
print(res_test_type)

top <- weightable(res_test_type)
top <- top[top$aicc <= min(top$aicc) + 2,]
top
summary(res_test_type@objects[[1]])
plot(res_test_type, type="s")
summary(res_test_type@objects[[2]])
plot(res_test_type, type="s")
eval(metafor:::.glmulti)
coef(res_test_type)
mmi <- as.data.frame(coef(res_test_type))
mmi <- data.frame(Estimate=mmi$Est, SE=sqrt(mmi$Uncond), Importance=mmi$Importance, row.names=row.names(mmi))
mmi$z <- mmi$Estimate / mmi$SE
mmi$p <- 2*pnorm(abs(mmi$z), lower.tail=FALSE)
names(mmi) <- c("Estimate", "Std. Error", "Importance", "z value", "Pr(>|z|)")
mmi$ci.lb <- mmi[[1]] - qnorm(.975) * mmi[[2]]
mmi$ci.ub <- mmi[[1]] + qnorm(.975) * mmi[[2]]
mmi <- mmi[order(mmi$Importance, decreasing=TRUE), c(1,2,4:7,3)]
round(mmi, 4)

take test method

res_test_method <- glmulti(d_calc ~mean_age + sentence_structure + agent_argument_type_clean + patient_argument_type_clean  + stimuli_actor  + presentation_type + test_mass_or_distributed + practice_phase + character_identification + n_repetitions_sentence + n_repetitions_video + test_method, data=ma_data, level=1, fitfunction=rma.glmulti, crit="aicc", confsetsize=32)
print(res_test_method)

top <- weightable(res_test_method)
top <- top[top$aicc <= min(top$aicc) + 2,]
top
summary(res_test_method@objects[[1]])
plot(res_test_method, type="s")
summary(res_test_method@objects[[2]])
plot(res_test_method, type="s")
eval(metafor:::.glmulti)
coef(res_test_method)
mmi <- as.data.frame(coef(res_test_method))
mmi <- data.frame(Estimate=mmi$Est, SE=sqrt(mmi$Uncond), Importance=mmi$Importance, row.names=row.names(mmi))
mmi$z <- mmi$Estimate / mmi$SE
mmi$p <- 2*pnorm(abs(mmi$z), lower.tail=FALSE)
names(mmi) <- c("Estimate", "Std. Error", "Importance", "z value", "Pr(>|z|)")
mmi$ci.lb <- mmi[[1]] - qnorm(.975) * mmi[[2]]
mmi$ci.ub <- mmi[[1]] + qnorm(.975) * mmi[[2]]
mmi <- mmi[order(mmi$Importance, decreasing=TRUE), c(1,2,4:7,3)]
round(mmi, 4)

take stimuli modality

res_stimuli_modality <- glmulti(d_calc ~mean_age + sentence_structure + agent_argument_type_clean + patient_argument_type_clean  + stimuli_actor + stimuli_modality + presentation_type + test_mass_or_distributed + practice_phase + character_identification + n_repetitions_sentence + n_repetitions_video, data=ma_data, level=1, fitfunction=rma.glmulti, crit="aicc", confsetsize=32)
print(res_stimuli_modality)

top <- weightable(res_stimuli_modality)
top <- top[top$aicc <= min(top$aicc) + 2,]
top
summary(res_stimuli_modality@objects[[1]])
plot(res_stimuli_modality, type="s")
summary(res_stimuli_modality@objects[[2]])
plot(res_stimuli_modality, type="s")
eval(metafor:::.glmulti)
coef(res_stimuli_modality)
mmi <- as.data.frame(coef(res_stimuli_modality))
mmi <- data.frame(Estimate=mmi$Est, SE=sqrt(mmi$Uncond), Importance=mmi$Importance, row.names=row.names(mmi))
mmi$z <- mmi$Estimate / mmi$SE
mmi$p <- 2*pnorm(abs(mmi$z), lower.tail=FALSE)
names(mmi) <- c("Estimate", "Std. Error", "Importance", "z value", "Pr(>|z|)")
mmi$ci.lb <- mmi[[1]] - qnorm(.975) * mmi[[2]]
mmi$ci.ub <- mmi[[1]] + qnorm(.975) * mmi[[2]]
mmi <- mmi[order(mmi$Importance, decreasing=TRUE), c(1,2,4:7,3)]
round(mmi, 4)
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICBkZl9wcmludDogcGFnZWQKLS0tCgpUaGlzIGlzIGFuIFtSIE1hcmtkb3duXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tKSBOb3RlYm9vay4gV2hlbiB5b3UgZXhlY3V0ZSBjb2RlIHdpdGhpbiB0aGUgbm90ZWJvb2ssIHRoZSByZXN1bHRzIGFwcGVhciBiZW5lYXRoIHRoZSBjb2RlLiAKClRyeSBleGVjdXRpbmcgdGhpcyBjaHVuayBieSBjbGlja2luZyB0aGUgKlJ1biogYnV0dG9uIHdpdGhpbiB0aGUgY2h1bmsgb3IgYnkgcGxhY2luZyB5b3VyIGN1cnNvciBpbnNpZGUgaXQgYW5kIHByZXNzaW5nICpDbWQrU2hpZnQrRW50ZXIqLiAKCmBgYHtyIHNldHVwLCBpbmNsdWRlID0gRn0KbGlicmFyeShnbHVlKQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShtZXRhZm9yKQpsaWJyYXJ5KGtuaXRyKQpsaWJyYXJ5KGhlcmUpCmxpYnJhcnkoZGljdCkKbGlicmFyeShoZWF0bWFwbHkpCmxpYnJhcnkoTXVNSW4pCmxpYnJhcnkoZ2xtdWx0aSkKR09PR0xFX1NIRUVUX0lEIDwtICIxa1NMNWxwbUhjYXc5bE9wMmRoSl9SSDE1UkVGZTdvWlZ3TU8xdkpjOTMwbyIKREFUQV9QQVRIIDwtIGhlcmUoImRhdGEvcHJvY2Vzc2VkL3N5bnRhY3RpY19ib290c3RyYXBwaW5nX3RpZHlfZGF0YS5jc3YiKSAjIG1ha2UgYWxsIHZhcmlhYmxlcyAoaS5lLiB0aGluZ3MgdGhhdCBtaWdodCBjaGFuZ2UpIGFzIGNhcGl0YWwgbGV0dGVycyBhdCB0aGUgdG9wIG9mIHRoZSBzY3JpcHRzCgpgYGAKCmBgYHtyfQprbml0cjo6b3B0c19jaHVuayRzZXQobWVzc2FnZSA9IEZBTFNFKQprbml0cjo6b3B0c19jaHVuayRzZXQod2FybmluZyA9IEZBTFNFKQoKYGBgCgpgYGB7cn0KCm1hX2RhdGEgPC0gcmVhZF9jc3YoREFUQV9QQVRIKSAKbWFfZGF0YQpgYGAKCiMgY29udGluZ2VuY3kgdGFibGUgCmBgYHtyfQpBTExfQ0FURUdPUklDQUxfVkFSUyA8LSBjKCJ0ZXN0X3R5cGUiLCJwcmVzZW50YXRpb25fdHlwZSIsCiAgICAgICAgICAgICAgICAgICAgICAiYWdlbnRfYXJndW1lbnRfdHlwZV9jbGVhbiIsICJwYXRpZW50X2FyZ3VtZW50X3R5cGVfY2xlYW4iLCAKICAgICAgICAgICAgICAgICAgICAgInN0aW11bGlfbW9kYWxpdHkiLCAic3RpbXVsaV9hY3RvciIsICJjaGFyYWN0ZXJfaWRlbnRpZmljYXRpb24iLCAicHJhY3RpY2VfcGhhc2UiLCAidGVzdF9tYXNzX29yX2Rpc3RyaWJ1dGVkIiwgInRlc3RfbWV0aG9kIikKCgoKCmdldF9jcm9zc19jb3VudHMgPC0gZnVuY3Rpb24oYXJncywgZGYpewogIHZhcjEgPSBhcmdzW1sxXV0KICB2YXIyID0gYXJnc1tbMl1dCiAgCiAgaWYgKHZhcjEgIT0gdmFyMil7CiAgCiAgZGYgJT4lCiAgICBzZWxlY3RfKHZhcjEsIHZhcjIpICU+JQogICAgcmVuYW1lKHYxID0gdmFyMSwgCiAgICAgICAgICB2MiA9IHZhcjIpICU+JQogICAgY291bnQodjEsIHYyKSAlPiUKICAgIG11dGF0ZSh2MV9sb25nID0gZ2x1ZSgie3ZhcjF9L3t2MX0iKSwKICAgICAgICAgICB2Ml9sb25nID0gZ2x1ZSgie3ZhcjJ9L3t2Mn0iKSkgICU+JQogICAgc2VsZWN0KHYxX2xvbmcsIHYyX2xvbmcsIG4pIAoKICB9Cn0KCmFsbF9wYWlyX2NvdW50cyA8LSBsaXN0KEFMTF9DQVRFR09SSUNBTF9WQVJTLAogICAgICAgICAgICAgICAgICAgICAgICBBTExfQ0FURUdPUklDQUxfVkFSUykgJT4lCiAgY3Jvc3MoKSAlPiUKICBtYXBfZGYoZ2V0X2Nyb3NzX2NvdW50cywgbWFfZGF0YSkgJT4lCiAgY29tcGxldGUodjFfbG9uZywgdjJfbG9uZywgZmlsbCA9IGxpc3QobiA9IDApKSAlPiUKICBmaWx0ZXIodjFfbG9uZyAhPSB2Ml9sb25nKQoKCiAgYWxsX2NvdW50c193aWRlIDwtIGFsbF9wYWlyX2NvdW50cyAlPiUKICAgIHBpdm90X3dpZGVyKG5hbWVzX2Zyb20gPSB2Ml9sb25nLCB2YWx1ZXNfZnJvbSA9IG4pIAogIAoKICBhbGxfY291bnRzX3dpZGVfbWF0cml4IDwtIGFsbF9jb3VudHNfd2lkZSAlPiUKICAgIHNlbGVjdCgtdjFfbG9uZykgJT4lCiAgICBhcy5tYXRyaXgoKQogIAogIHJvdy5uYW1lcyhhbGxfY291bnRzX3dpZGVfbWF0cml4KSA8LSAgIGFsbF9jb3VudHNfd2lkZSR2MV9sb25nCiAgaGVhdG1hcGx5KGFsbF9jb3VudHNfd2lkZV9tYXRyaXgsCiAgICAgICAgICAgIGZvbnRzaXplX3JvdyA9IDgsCiAgICAgICAgICAgIGZvbnRzaXplX2NvbCA9IDgpCmBgYAoKCiMgTW9kZWwgc2VsZWN0aW9ucz8/Cmh0dHA6Ly93d3cubWV0YWZvci1wcm9qZWN0Lm9yZy9kb2t1LnBocC90aXBzOm1vZGVsX3NlbGVjdGlvbl93aXRoX2dsbXVsdGlfYW5kX211bWluCgoKCiMjIG1vZGVsIHNlbGVjdGlvbnsudGFic2V0fQojIyMgcmVhc29uYWJsZTogCmBgYHtyfQoKcm1hLmdsbXVsdGkgPC0gZnVuY3Rpb24oZm9ybXVsYSxkYXRhKQogIHtybWEubXYoZm9ybXVsYSwgZF92YXJfY2FsYywgZGF0YT1tYV9kYXRhLCBtZXRob2Q9Ik1MIikKfQoKcmVzX3JlYXNvbmFibGUgPC0gZ2xtdWx0aShkX2NhbGMgfiBtZWFuX2FnZSArIHNlbnRlbmNlX3N0cnVjdHVyZSArIGFnZW50X2FyZ3VtZW50X3R5cGVfY2xlYW4gKyBwYXRpZW50X2FyZ3VtZW50X3R5cGVfY2xlYW4gICsgdGVzdF9tYXNzX29yX2Rpc3RyaWJ1dGVkICsgcHJhY3RpY2VfcGhhc2UgKyBjaGFyYWN0ZXJfaWRlbnRpZmljYXRpb24gKyBuX3JlcGV0aXRpb25zX3NlbnRlbmNlICsgdGVzdF9tZXRob2QgLCBkYXRhPW1hX2RhdGEsIGxldmVsPTEsIGZpdGZ1bmN0aW9uPXJtYS5nbG11bHRpLCBjcml0PSJhaWNjIiwgY29uZnNldHNpemU9MzIpCgpgYGAKYGBge3J9CnRvcCA8LSB3ZWlnaHRhYmxlKHJlc19yZWFzb25hYmxlKQp0b3AgPC0gdG9wW3RvcCRhaWNjIDw9IG1pbih0b3AkYWljYykgKyAyLF0KCnN1bW1hcnkocmVzX3JlYXNvbmFibGVAb2JqZWN0c1tbMV1dKQpwbG90KHJlc19yZWFzb25hYmxlLCB0eXBlPSJzIikKYGBgCmBgYHtyfQpzdW1tYXJ5KHJlc19yZWFzb25hYmxlQG9iamVjdHNbWzJdXSkKCmBgYAoKCiMjIyB0YWtlIGV2ZXJ5dGhpbmcKCmBgYHtyfQpybWEuZ2xtdWx0aSA8LSBmdW5jdGlvbihmb3JtdWxhLGRhdGEpCiAge3JtYS5tdihmb3JtdWxhLCBkX3Zhcl9jYWxjLCBkYXRhPW1hX2RhdGEsIG1ldGhvZD0iTUwiKQp9CgpyZXNfc2luayA8LSBnbG11bHRpKGRfY2FsYyB+bWVhbl9hZ2UgKyBzZW50ZW5jZV9zdHJ1Y3R1cmUgKyBhZ2VudF9hcmd1bWVudF90eXBlX2NsZWFuICsgcGF0aWVudF9hcmd1bWVudF90eXBlX2NsZWFuICsgdGVzdF90eXBlICsgc3RpbXVsaV9hY3RvciArIHN0aW11bGlfbW9kYWxpdHkgKyBwcmVzZW50YXRpb25fdHlwZSArIHRlc3RfbWFzc19vcl9kaXN0cmlidXRlZCArIHByYWN0aWNlX3BoYXNlICsgY2hhcmFjdGVyX2lkZW50aWZpY2F0aW9uICsgbl9yZXBldGl0aW9uc19zZW50ZW5jZSArIG5fcmVwZXRpdGlvbnNfdmlkZW8gKyB0ZXN0X21ldGhvZCwgZGF0YT1tYV9kYXRhLCBsZXZlbD0xLCBmaXRmdW5jdGlvbj1ybWEuZ2xtdWx0aSwgY3JpdD0iYWljYyIsIGNvbmZzZXRzaXplPTMyKQojcHJpbnQocmVzX3NpbmspCgpgYGAKCmBgYHtyfQp0b3AgPC0gd2VpZ2h0YWJsZShyZXNfc2luaykKdG9wIDwtIHRvcFt0b3AkYWljYyA8PSBtaW4odG9wJGFpY2MpICsgMixdCnRvcApzdW1tYXJ5KHJlc19zaW5rQG9iamVjdHNbWzFdXSkKc3VtbWFyeShyZXNfc2lua0BvYmplY3RzW1syXV0pCnBsb3QocmVzX3NpbmssIHR5cGU9InMiKQoKYGBgCgpgYGB7cn0KZXZhbChtZXRhZm9yOjo6LmdsbXVsdGkpCmNvZWYocmVzX3NpbmspCm1taSA8LSBhcy5kYXRhLmZyYW1lKGNvZWYocmVzX3NpbmspKQptbWkgPC0gZGF0YS5mcmFtZShFc3RpbWF0ZT1tbWkkRXN0LCBTRT1zcXJ0KG1taSRVbmNvbmQpLCBJbXBvcnRhbmNlPW1taSRJbXBvcnRhbmNlLCByb3cubmFtZXM9cm93Lm5hbWVzKG1taSkpCm1taSR6IDwtIG1taSRFc3RpbWF0ZSAvIG1taSRTRQptbWkkcCA8LSAyKnBub3JtKGFicyhtbWkkeiksIGxvd2VyLnRhaWw9RkFMU0UpCm5hbWVzKG1taSkgPC0gYygiRXN0aW1hdGUiLCAiU3RkLiBFcnJvciIsICJJbXBvcnRhbmNlIiwgInogdmFsdWUiLCAiUHIoPnx6fCkiKQptbWkkY2kubGIgPC0gbW1pW1sxXV0gLSBxbm9ybSguOTc1KSAqIG1taVtbMl1dCm1taSRjaS51YiA8LSBtbWlbWzFdXSArIHFub3JtKC45NzUpICogbW1pW1syXV0KbW1pIDwtIG1taVtvcmRlcihtbWkkSW1wb3J0YW5jZSwgZGVjcmVhc2luZz1UUlVFKSwgYygxLDIsNDo3LDMpXQpyb3VuZChtbWksIDQpCmBgYAoKdGhyZWUgaW50ZXJkZXBlbmRlbmNlIG1vZGVyYXRvcnMsIHRha2Ugb25lCiMjIyB0YWtlIHRlc3QgdHlwZQpgYGB7ciBtZXRob2QgMTp9CgpybWEuZ2xtdWx0aSA8LSBmdW5jdGlvbihmb3JtdWxhLGRhdGEpCiAge3JtYS5tdihmb3JtdWxhLCBkX3Zhcl9jYWxjLCBkYXRhPW1hX2RhdGEsIG1ldGhvZD0iTUwiKQp9CgpyZXNfdGVzdF90eXBlIDwtIGdsbXVsdGkoZF9jYWxjIH5tZWFuX2FnZSArIHNlbnRlbmNlX3N0cnVjdHVyZSArIGFnZW50X2FyZ3VtZW50X3R5cGVfY2xlYW4gKyBwYXRpZW50X2FyZ3VtZW50X3R5cGVfY2xlYW4gKyB0ZXN0X3R5cGUgKyBzdGltdWxpX2FjdG9yICArIHByZXNlbnRhdGlvbl90eXBlICsgdGVzdF9tYXNzX29yX2Rpc3RyaWJ1dGVkICsgcHJhY3RpY2VfcGhhc2UgKyBjaGFyYWN0ZXJfaWRlbnRpZmljYXRpb24gKyBuX3JlcGV0aXRpb25zX3NlbnRlbmNlICsgbl9yZXBldGl0aW9uc192aWRlbywgZGF0YT1tYV9kYXRhLCBsZXZlbD0xLCBmaXRmdW5jdGlvbj1ybWEuZ2xtdWx0aSwgY3JpdD0iYWljYyIsIGNvbmZzZXRzaXplPTMyKQpwcmludChyZXNfdGVzdF90eXBlKQoKdG9wIDwtIHdlaWdodGFibGUocmVzX3Rlc3RfdHlwZSkKdG9wIDwtIHRvcFt0b3AkYWljYyA8PSBtaW4odG9wJGFpY2MpICsgMixdCnRvcApzdW1tYXJ5KHJlc190ZXN0X3R5cGVAb2JqZWN0c1tbMV1dKQpwbG90KHJlc190ZXN0X3R5cGUsIHR5cGU9InMiKQpzdW1tYXJ5KHJlc190ZXN0X3R5cGVAb2JqZWN0c1tbMl1dKQpwbG90KHJlc190ZXN0X3R5cGUsIHR5cGU9InMiKQoKYGBgCgoKYGBge3J9CmV2YWwobWV0YWZvcjo6Oi5nbG11bHRpKQpjb2VmKHJlc190ZXN0X3R5cGUpCm1taSA8LSBhcy5kYXRhLmZyYW1lKGNvZWYocmVzX3Rlc3RfdHlwZSkpCm1taSA8LSBkYXRhLmZyYW1lKEVzdGltYXRlPW1taSRFc3QsIFNFPXNxcnQobW1pJFVuY29uZCksIEltcG9ydGFuY2U9bW1pJEltcG9ydGFuY2UsIHJvdy5uYW1lcz1yb3cubmFtZXMobW1pKSkKbW1pJHogPC0gbW1pJEVzdGltYXRlIC8gbW1pJFNFCm1taSRwIDwtIDIqcG5vcm0oYWJzKG1taSR6KSwgbG93ZXIudGFpbD1GQUxTRSkKbmFtZXMobW1pKSA8LSBjKCJFc3RpbWF0ZSIsICJTdGQuIEVycm9yIiwgIkltcG9ydGFuY2UiLCAieiB2YWx1ZSIsICJQcig+fHp8KSIpCm1taSRjaS5sYiA8LSBtbWlbWzFdXSAtIHFub3JtKC45NzUpICogbW1pW1syXV0KbW1pJGNpLnViIDwtIG1taVtbMV1dICsgcW5vcm0oLjk3NSkgKiBtbWlbWzJdXQptbWkgPC0gbW1pW29yZGVyKG1taSRJbXBvcnRhbmNlLCBkZWNyZWFzaW5nPVRSVUUpLCBjKDEsMiw0OjcsMyldCnJvdW5kKG1taSwgNCkKYGBgCgoKCgojIyMgdGFrZSB0ZXN0IG1ldGhvZAoKYGBge3J9CnJlc190ZXN0X21ldGhvZCA8LSBnbG11bHRpKGRfY2FsYyB+bWVhbl9hZ2UgKyBzZW50ZW5jZV9zdHJ1Y3R1cmUgKyBhZ2VudF9hcmd1bWVudF90eXBlX2NsZWFuICsgcGF0aWVudF9hcmd1bWVudF90eXBlX2NsZWFuICArIHN0aW11bGlfYWN0b3IgICsgcHJlc2VudGF0aW9uX3R5cGUgKyB0ZXN0X21hc3Nfb3JfZGlzdHJpYnV0ZWQgKyBwcmFjdGljZV9waGFzZSArIGNoYXJhY3Rlcl9pZGVudGlmaWNhdGlvbiArIG5fcmVwZXRpdGlvbnNfc2VudGVuY2UgKyBuX3JlcGV0aXRpb25zX3ZpZGVvICsgdGVzdF9tZXRob2QsIGRhdGE9bWFfZGF0YSwgbGV2ZWw9MSwgZml0ZnVuY3Rpb249cm1hLmdsbXVsdGksIGNyaXQ9ImFpY2MiLCBjb25mc2V0c2l6ZT0zMikKcHJpbnQocmVzX3Rlc3RfbWV0aG9kKQoKdG9wIDwtIHdlaWdodGFibGUocmVzX3Rlc3RfbWV0aG9kKQp0b3AgPC0gdG9wW3RvcCRhaWNjIDw9IG1pbih0b3AkYWljYykgKyAyLF0KdG9wCnN1bW1hcnkocmVzX3Rlc3RfbWV0aG9kQG9iamVjdHNbWzFdXSkKcGxvdChyZXNfdGVzdF9tZXRob2QsIHR5cGU9InMiKQpzdW1tYXJ5KHJlc190ZXN0X21ldGhvZEBvYmplY3RzW1syXV0pCnBsb3QocmVzX3Rlc3RfbWV0aG9kLCB0eXBlPSJzIikKYGBgCgpgYGB7cn0KZXZhbChtZXRhZm9yOjo6LmdsbXVsdGkpCmNvZWYocmVzX3Rlc3RfbWV0aG9kKQptbWkgPC0gYXMuZGF0YS5mcmFtZShjb2VmKHJlc190ZXN0X21ldGhvZCkpCm1taSA8LSBkYXRhLmZyYW1lKEVzdGltYXRlPW1taSRFc3QsIFNFPXNxcnQobW1pJFVuY29uZCksIEltcG9ydGFuY2U9bW1pJEltcG9ydGFuY2UsIHJvdy5uYW1lcz1yb3cubmFtZXMobW1pKSkKbW1pJHogPC0gbW1pJEVzdGltYXRlIC8gbW1pJFNFCm1taSRwIDwtIDIqcG5vcm0oYWJzKG1taSR6KSwgbG93ZXIudGFpbD1GQUxTRSkKbmFtZXMobW1pKSA8LSBjKCJFc3RpbWF0ZSIsICJTdGQuIEVycm9yIiwgIkltcG9ydGFuY2UiLCAieiB2YWx1ZSIsICJQcig+fHp8KSIpCm1taSRjaS5sYiA8LSBtbWlbWzFdXSAtIHFub3JtKC45NzUpICogbW1pW1syXV0KbW1pJGNpLnViIDwtIG1taVtbMV1dICsgcW5vcm0oLjk3NSkgKiBtbWlbWzJdXQptbWkgPC0gbW1pW29yZGVyKG1taSRJbXBvcnRhbmNlLCBkZWNyZWFzaW5nPVRSVUUpLCBjKDEsMiw0OjcsMyldCnJvdW5kKG1taSwgNCkKYGBgCgoKIyMjIHRha2Ugc3RpbXVsaSBtb2RhbGl0eQoKYGBge3J9CnJlc19zdGltdWxpX21vZGFsaXR5IDwtIGdsbXVsdGkoZF9jYWxjIH5tZWFuX2FnZSArIHNlbnRlbmNlX3N0cnVjdHVyZSArIGFnZW50X2FyZ3VtZW50X3R5cGVfY2xlYW4gKyBwYXRpZW50X2FyZ3VtZW50X3R5cGVfY2xlYW4gICsgc3RpbXVsaV9hY3RvciArIHN0aW11bGlfbW9kYWxpdHkgKyBwcmVzZW50YXRpb25fdHlwZSArIHRlc3RfbWFzc19vcl9kaXN0cmlidXRlZCArIHByYWN0aWNlX3BoYXNlICsgY2hhcmFjdGVyX2lkZW50aWZpY2F0aW9uICsgbl9yZXBldGl0aW9uc19zZW50ZW5jZSArIG5fcmVwZXRpdGlvbnNfdmlkZW8sIGRhdGE9bWFfZGF0YSwgbGV2ZWw9MSwgZml0ZnVuY3Rpb249cm1hLmdsbXVsdGksIGNyaXQ9ImFpY2MiLCBjb25mc2V0c2l6ZT0zMikKcHJpbnQocmVzX3N0aW11bGlfbW9kYWxpdHkpCgp0b3AgPC0gd2VpZ2h0YWJsZShyZXNfc3RpbXVsaV9tb2RhbGl0eSkKdG9wIDwtIHRvcFt0b3AkYWljYyA8PSBtaW4odG9wJGFpY2MpICsgMixdCnRvcApzdW1tYXJ5KHJlc19zdGltdWxpX21vZGFsaXR5QG9iamVjdHNbWzFdXSkKcGxvdChyZXNfc3RpbXVsaV9tb2RhbGl0eSwgdHlwZT0icyIpCnN1bW1hcnkocmVzX3N0aW11bGlfbW9kYWxpdHlAb2JqZWN0c1tbMl1dKQpwbG90KHJlc19zdGltdWxpX21vZGFsaXR5LCB0eXBlPSJzIikKYGBgCgoKYGBge3J9CmV2YWwobWV0YWZvcjo6Oi5nbG11bHRpKQpjb2VmKHJlc19zdGltdWxpX21vZGFsaXR5KQptbWkgPC0gYXMuZGF0YS5mcmFtZShjb2VmKHJlc19zdGltdWxpX21vZGFsaXR5KSkKbW1pIDwtIGRhdGEuZnJhbWUoRXN0aW1hdGU9bW1pJEVzdCwgU0U9c3FydChtbWkkVW5jb25kKSwgSW1wb3J0YW5jZT1tbWkkSW1wb3J0YW5jZSwgcm93Lm5hbWVzPXJvdy5uYW1lcyhtbWkpKQptbWkkeiA8LSBtbWkkRXN0aW1hdGUgLyBtbWkkU0UKbW1pJHAgPC0gMipwbm9ybShhYnMobW1pJHopLCBsb3dlci50YWlsPUZBTFNFKQpuYW1lcyhtbWkpIDwtIGMoIkVzdGltYXRlIiwgIlN0ZC4gRXJyb3IiLCAiSW1wb3J0YW5jZSIsICJ6IHZhbHVlIiwgIlByKD58enwpIikKbW1pJGNpLmxiIDwtIG1taVtbMV1dIC0gcW5vcm0oLjk3NSkgKiBtbWlbWzJdXQptbWkkY2kudWIgPC0gbW1pW1sxXV0gKyBxbm9ybSguOTc1KSAqIG1taVtbMl1dCm1taSA8LSBtbWlbb3JkZXIobW1pJEltcG9ydGFuY2UsIGRlY3JlYXNpbmc9VFJVRSksIGMoMSwyLDQ6NywzKV0Kcm91bmQobW1pLCA0KQpgYGAKCgoKCgoKCgo=